module SessionsHelper

	def redirect_back_or(default)
		redirect_to(session[:return_to] || default)
		session.delete :return_to
	end

	def store_back_location
		session[:return_to] = request.fullpath
	end

	def current_user?(user)
		user == current_user
	end

	def signed_in?
		!current_user.nil?
	end

	def current_user=(user)
		@current_user = user
	end

	def current_user
		remember_token = User.encrypt(cookies[:remember_token])
		@current_user ||= User.find_by(remember_token:remember_token)
	end

	def sign_out
		self.current_user = nil
		cookies.delete :remember_token
	end

	def sign_in(user)
		token = User.new_remember_token
		cookies.permanent[:remember_token] = token
		user.update_attribute(:remember_token,User.encrypt(token))
		self.current_user = user
	end

	def signed_in_user
      unless signed_in?
        store_back_location
        redirect_to signin_url,notice:"Please sign in"
      end
      #redirect_to signin_url,notice:"Please sign in." unless signed_in?
    end
end
